{
	/* 
问题:
调用函数时，需要显示设置类型参数，太麻烦，
*/

	// 定义泛型函数
	function fn<T>(value: T): T {
		return value
	}

	const t1 = fn<number>(100)

	const t2 = fn<string>('abc')

	// 省略 <boolean> 调用函数
	let t3 = fn(true)

	/* 
  
1. 在调用泛型函数时，可以省略 <类型> 来简化泛型函数的调用
2. 此时，TS 内部会采用一种叫做 类型参数推断 的机制，来根据传入的实参自动推断出类型变量 Type 的类型
3. 比如，传入实参 true，TS 会自动推断出变量 t3 的类型 boolean ，并作为 Type 的类型
小结:
推荐：使用这种简化的方式调用泛型函数，使代码更短，更易于阅读
*/
}
